package com.rd.sys.dto.client.analysis.config;

import baseproj.common.constants.BaseEnum;

/**
 * 兴趣区配置参数
 * 
 */
public class AoiConfig {

    /**
     * 参数名
     * 
     */
    public enum Key implements BaseEnum {
        DrawColor("cfg_aoi_color", "颜色", "设置兴趣区图形的线条颜色和填充颜色。该参数用于提升兴趣区图形的显示效果。"), Diaphaneity("cfg_aoi_diaphaneity",
                "透明度", "设置轨迹点兴趣区图形的透明度。该参数值越大，图形底色越不透明。该参数用于提升兴趣区图形的显示效果。");

        private String code;
        private String name;
        private String description;

        private Key(String code, String name) {
            this.code = code;
            this.name = name;
        }

        private Key(String code, String name, String description) {
            this.code = code;
            this.name = name;
            this.description = description;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getName() {
            return this.name;
        }

        public String getDescription() {
            return description;
        }

    }

    public enum DrawColor implements BaseEnum {
        Red("#adb5ff", "红色"), Yellow("#427bfc", "黄色"); // 此处的颜色没有使用，会在前端被替换到

        private String code;
        private String name;

        private DrawColor(String code, String name) {
            this.code = code;
            this.name = name;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getName() {
            return this.name;
        }

    }

    public enum Diaphaneity implements BaseEnum {

        Diaphaneity_50("0.5", "50%"), Diaphaneity_60("0.4", "60%"), Diaphaneity_70("0.3", "70%"), Diaphaneity_80("0.2",
                "80%"), Diaphaneity_90("0.1", "90%");

        private String code;
        private String name;

        private Diaphaneity(String code, String name) {
            this.code = code;
            this.name = name;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getName() {
            return this.name;
        }
    }
}
